#ifndef GX_FR_EDITOR_CLIPBRUSHSTATE_H
#define GX_FR_EDITOR_CLIPBRUSHSTATE_H

#include "State.h"
#include "View.h"

namespace FinalRendering
{
	namespace Editor
	{
		class ClipBrushState : public State
		{
		private:
			vec3 v1,v2,v3,v4, ov1,ov2;
			Plane plane;
			View::ViewType lstView;
			void UpdatePlane(View * View, int x, int y);
			void DrawStates(View * view);
		public:
			ClipBrushState();

			virtual void DrawState_3DView(View3D * view);
			virtual void DrawState_LeftView(ViewLeft* view);
			virtual void DrawState_TopView(ViewTop * view);
			virtual void DrawState_FrontView(ViewFront * view);

			virtual void MouseDown(View * view, UIMouseEventArgs & e);
			virtual void MouseUp(View * view, UIMouseEventArgs & e);
			virtual void MouseMove(View * view, UIMouseEventArgs & e);
			virtual void KeyDown(View * view, UIKeyEventArgs & e);
		};
	}
}

#endif